InBox TimeTracking
Version 7.0.1
Date of criation 11/01/2019
Resources
Team Creation and Team Management
This module allows teams to be created so that attendants can be associated with them and the attendants can have different time capacities and different schedules.
Consultation of hours worked
This module makes it possible to view the number of hours worked “yesterday”, “last week”, “current month”, and the total of the team to which the attendant is attached.
Gamification
This module allows you to create scoring routines for call attendants and view the ranking according to each attendant's score.
Prerequisites
Framework
The following Znuny framework versions are supported:
- [7.0.x]
Modules
The following modules are required:
- InBox Core 7.0.1 or superior
Operational system
The following operating systems are required:
- [None]
Third Party Software
The following third party software is required:
- [None]
Installation
bin/znuny.Console.pl Admin::Package::Install /path/to/InBox\ TimeTracking-7.0.1.opm
Configuration
This module can be configured via System Configuration in the administrative interface. The following configuration options are available:
Time Tracking
Settings related to Time Tracking:
TimeTracking::Enable
Enable Time Tracking.
TimeTracking::Core::Show
Defines what will be displayed when accessing the AgentUserTimeTracking action.
TimeTracking::Hours
Registration of hours.
TimeTracking::InfoTime
Configures the time of day that the informational notification will appear.
Default value = "12:00:00";
TimeTracking::WarningTime
Configures the time of day that the warning notification will appear.
Default value = "16:00:00";
TimeTracking::AlertTime
Configures the time of day that the alert notification will appear.
Default value = "17:30:00";
TimeTracking::NotificationBarType
Set the notification bar type.
Default: Follows the info, warning and alert time. Goals: Follow the goal reached or not reached. And with custom body by GoalMessage setting.
TimeTracking::GoalMessage
Defines the text of custom messages (if NotificationBarType setting is in Goals).
The information bar will start to appear from the time defined in the TimeTracking::InfoTime setting.
Only change the values according to each key.
GoalNotReached -> Goal not reached, the goal is the time set in 'Agents -> Teams' GoalReached -> Goal reached, the goal is the time set in 'Agents -> Teams'
Accept tags in value. #Agent_Name = Agent name. #Current_Appoitment = Total time pointed in the day by the attendant. #Goal_Time = Goal attendant hours
GoalNotReached notification bar example:
GoalReached notification bar example:
Gamification
Gamification related settings:
Gamification::Enable
Enable gamification
Gamification::Survey::AnswerScore
If the type of score by survey average is configured and the question is a checkbox. Key: Search option. Value: Score to be considered in the calculation.
Gamification::TicketGoal::MappingTicket4Score
If the type of scoring by ticket goal is configured, configure it as follows. Key: Number of calls to reach the goal. Value: Score to be considered in the calculation.
This mapping of tickets served will be considered the default if a goal is not set for the agent.
Gamification::LimitShowAgents
Defines the limit of agents that will be displayed in the ranking table.
Gamification::PunctuationType
Defines if the score will be in real time or if it will consider the closed score of the previous day.
In real time: If the attendant earns a point on the day, it will be added to the total point.
Until the day before: If the attendant earns a point on the day, it will be added to the total point only on the following day.
Gamification::GamificationBackground
Setting where adia the background image of the gamnification screen.
Gamification::GamificationCurrentLevelBackground
Setting to set the color for the background border of the current level.
Gamification::ScoringType
defines the type that will be the score
Gamification::ColorLayoutBackground
Setting to change gamification background colors.
Use
Team Creation
For the creation of teams it will be necessary to access the administrative menu and search for the Times card:
After selecting the card, click on the “Add Team” button:
On this screen you can choose the Team Name, Validity, Responsible and Comment.
After saving the data the new team will already be listed.
Association Agents x Teams
For the association it will be necessary to access the administrative menu and look for the Agents ↔ Teams card:
After selecting the card, the following screen is displayed:
On this screen, all agents are listed and each agent can have an associated team:
The amount of daily charge:
And the calendar:
After making these changes, you will need to save them.
If gamification is enabled, you can determine a service goal for each agent. It is possible to determine the number of tickets served and the score that the agent will earn.
Viewing hours worked
At the top of the screen there will be the icon referring to hours worked today, however if it is selected, it will be redirected to another page:
In which the hours worked "Yesterday", "Last Week" and "Monthly" will be shown, the number of your team will also be shown:
Note: for correct display of the agent's notes, it is necessary to correctly configure the calendar used, such as timezone, holidays, weekends, daily hours, etc.
Sending an email to the team responsible
The module creates a cron that triggers emails to the person responsible for the team, showing a table with the data of the attendants who did not reach the goal defined in 'Agents -> Teams'. By default it is disabled. To use this functionality, enable and configure:
Daemon::SchedulerCronTaskManager::Task###NotifyTeamResponsible
Gamification
Level registration
Access: Admin -> Gamification -> Level
To add just fill in the fields and save.
Punctuation
Agent scoring works as follows:
Generic agents that add or remove points;
Generic agents who check the average satisfaction survey answered;
Generic agents who check the daily goal of answered tickets and score according to the achieved goal.
As the score is linked to a generic agent, the criteria considered to perform the score will be according to the need of the environment. When defining the events, automatic execution or selection of the call, it is only necessary to configure the option Execute Custom Module according to the possible options below and the score will be added or subtracted.
Add Score
Custom module that allows you to add or subtract agent points.
To add or remove agent points:
Custom module:
Module: Kernel::System::GenericAgent::Gamification::AddScore
Key 1: Score Value 1: 1
Key 2: TypeScore Value 2: DirectScore
or
Key 1: Score Value 1: -1
Key 2: TypeScore Value 2: DirectScore
Exemple:
Daily Goal
This custom module allows you to add points to the daily ticket goal. If the daily goal is reached at the end of the day, the agent will earn points referring to the achieved goal.
If configured, it will be necessary to define the configuration Gamification::TicketGoal::MappingTicket4Score.
For goal-based scoring, you will need to configure a generic agent with the AddScore custom module, but in the TypeScore key value the value will be Goal.
To add or remove daily tickets goal points:
Custom module:
Module: Kernel::System::GenericAgent::Gamification::AddScore
Key 1: Score Value 1: 1
Key 2: TypeScore Value 2: Goal
or
Key 1: Score Value 1: -1
Key 2: TypeScore Value 2: Goal
Exemple:
A cron set to run automatically at the end of each day. Every day during the run, it will calculate all calls that the agent made and received the generic agent score AddScore set the TypeScore set to Goal.
Config: Daemon::SchedulerCronTaskManager::Task###DailyGoal
According to the ticket target defined in the Gamification::TicketGoal::MappingTicket4Score setting the accumulated total score for the day will be checked. If the ticket score reaches any goal, the agent will receive the defined score.
Every Day In State
This generic agent must be configured to run automatically based on time. It will subtract or add points for each day the ticket is in the state.
Score: Points to be added or subtracted
SkipFirstDay: Defines whether to skip the day it was put in this state. value 1 will ignore the day it was placed and value 0 will not ignore.
Example: For each day the ticket was in 'Scheduled' state, subtract 1 point.
Custom module:
Module: Kernel::System::GenericAgent::Gamification::EveryDayInState
Key 1: Score Value 1: -1
Key 2: SkipFirstDay Value 2: 0
or
Key 1: Score Value 1: -1
Key 2: SkipFirstDay Value 2: 1
Exemple:
Survey Average
Cron that runs every day and checks the average of the agent's queries answered. The average is added to the agent's score.
Config: Daemon::SchedulerCronTaskManager::Task###SurveyAverage
Parameters to set in cron configuration:
GamificationSurveyID: Survey ID
GamificationQuestionID: Question ID
GamificationRepeatThePastScore: Set to 1 if you would like the clerk to receive the last score if on the day he did not receive any completed surveys.
Exemple:
Team score
The team with the highest score at the end of the month starts the next month with defined points.
Cron set to run every day at the end of the day. The code will check if it is the last day of the month. If so, it will calculate the scores of the teams and the one with the highest score, all participants will receive an initial score in the following month.
Config: Daemon::SchedulerCronTaskManager::Task###AddScoreTeam
Parameters to set in cron configuration:
GamificationTopTeam: Placement of top teams that will receive the grade in the following month
GamificationScore: Score that each team attendant will receive
Exemple:
Viewing the score
Click the icon to view the attendant's current score:
For agents with admin permission, you can view the ranking of agents with the highest score.
Access: Admin -> Gamification -> Agents Score